package com.ruoyi.driver.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 司机绑定车辆对象 t_driver_bind_vehicle
 * 
 * @author ruoyi
 * @date 2024-12-26
 */
public class TDriverBindVehicle extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** 司机id */
    @Excel(name = "司机id")
    private String driverInfoId;

    /** 司机登录用户id */
    @Excel(name = "司机登录用户id")
    private String driverUserId;


    /** 数据状态（作为逻辑删除，0为正常-1为删除） */
    @Excel(name = "数据状态", readConverterExp = "作=为逻辑删除，0为正常-1为删除")
    private Long status;

    /** 车辆id */
    @Excel(name = "车辆id")
    private String vehicleInfoId;

    /** 车牌号 */
    @Excel(name = "车牌号")
    private String carCode;

    /** 运输公司id */
    @Excel(name = "运输公司id")
    private String transportationCompanyId;

    /** 4G运输公司id */
    @Excel(name = "4G运输公司id")
    private String teamId;

    /** 运输公司名称 */
    @Excel(name = "运输公司名称")
    private String transportationCompanyName;

    /** 绑定状态 0上车（绑定）1.下车（解绑）  */
    @Excel(name = "绑定状态 0上车（绑定）1.下车（解绑）")
    private String onOffStatus;

    /** 上车时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上车时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date onCarTime;

    /** 下车时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下车时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date offCarTime;

    /** 数据状态 */
    @Excel(name = "数据状态")
    private String dataStatus;


    /** 车辆使用状态：车辆使用状态：0空闲中 1.使用中2.维修中 */
    @Excel(name = "车辆使用状态：0空闲中 1.使用中2.维修中")
    private String carUsageStatus;

    public String getCarUsageStatus() {
        return carUsageStatus;
    }

    public void setCarUsageStatus(String carUsageStatus) {
        this.carUsageStatus = carUsageStatus;
    }

    public String getDriverUserId() {
        return driverUserId;
    }

    public void setDriverUserId(String driverUserId) {
        this.driverUserId = driverUserId;
    }

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setDriverInfoId(String driverInfoId) 
    {
        this.driverInfoId = driverInfoId;
    }

    public String getDriverInfoId() 
    {
        return driverInfoId;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setVehicleInfoId(String vehicleInfoId) 
    {
        this.vehicleInfoId = vehicleInfoId;
    }

    public String getVehicleInfoId() 
    {
        return vehicleInfoId;
    }
    public void setCarCode(String carCode) 
    {
        this.carCode = carCode;
    }

    public String getCarCode() 
    {
        return carCode;
    }
    public void setTransportationCompanyId(String transportationCompanyId) 
    {
        this.transportationCompanyId = transportationCompanyId;
    }

    public String getTransportationCompanyId() 
    {
        return transportationCompanyId;
    }
    public void setTeamId(String teamId) 
    {
        this.teamId = teamId;
    }

    public String getTeamId() 
    {
        return teamId;
    }
    public void setTransportationCompanyName(String transportationCompanyName) 
    {
        this.transportationCompanyName = transportationCompanyName;
    }

    public String getTransportationCompanyName() 
    {
        return transportationCompanyName;
    }
    public void setOnOffStatus(String onOffStatus) 
    {
        this.onOffStatus = onOffStatus;
    }

    public String getOnOffStatus() 
    {
        return onOffStatus;
    }
    public void setOnCarTime(Date onCarTime) 
    {
        this.onCarTime = onCarTime;
    }

    public Date getOnCarTime() 
    {
        return onCarTime;
    }
    public void setOffCarTime(Date offCarTime) 
    {
        this.offCarTime = offCarTime;
    }

    public Date getOffCarTime() 
    {
        return offCarTime;
    }
    public void setDataStatus(String dataStatus) 
    {
        this.dataStatus = dataStatus;
    }

    public String getDataStatus() 
    {
        return dataStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("driverInfoId", getDriverInfoId())
            .append("status", getStatus())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("vehicleInfoId", getVehicleInfoId())
            .append("carCode", getCarCode())
            .append("transportationCompanyId", getTransportationCompanyId())
            .append("teamId", getTeamId())
            .append("transportationCompanyName", getTransportationCompanyName())
            .append("onOffStatus", getOnOffStatus())
            .append("onCarTime", getOnCarTime())
            .append("offCarTime", getOffCarTime())
            .append("dataStatus", getDataStatus())
            .append("remark", getRemark())
            .toString();
    }
}
